package com.negocio.entidades;

import java.io.Serializable;

import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinColumns;
import javax.persistence.ManyToOne;

public class ProvaAlunoQuestaoPK implements Serializable {
	@Id
	@ManyToOne
	@JoinColumns(value={@JoinColumn(nullable=false, referencedColumnName="aluno_id"),
			@JoinColumn(nullable=false, referencedColumnName="prova_id")})
	private ProvaAluno provaAluno;
	
	@Id
	@ManyToOne
	@JoinColumn(nullable=false)
	private Questao questao;

	public ProvaAluno getProvaAluno() {
		return provaAluno;
	}


	public void setProvaAluno(ProvaAluno provaAluno) {
		this.provaAluno = provaAluno;
	}


	public Questao getQuestao() {
		return questao;
	}


	public void setQuestao(Questao questao) {
		this.questao = questao;
	}


	@Override
	public boolean equals(Object p){
		if(p instanceof ProvaAlunoQuestaoPK){
			final ProvaAlunoQuestaoPK pPK = (ProvaAlunoQuestaoPK) p;
			if(!(pPK.getProvaAluno().getAluno().getId() == this.provaAluno.getAluno().getId() && pPK.getQuestao().getId() == this.questao.getId())){
				return false;
			}
			return true;
		}
		return false;
	}
	
	
	@Override
	public int hashCode(){
		return this.hashCode();
	}
}
